﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entities;
using Datalayer;
using Common;

namespace Portal_KonTum
{
    public partial class register : System.Web.UI.Page
    {
        IQueryMgr iq;
        protected void Page_Load(object sender, EventArgs e)
        {
            notes();
            if (!IsPostBack)
            {
                iq = QueryMgr.GetDbInstance();
                
                List<Identification> iden = iq.Iden_GetAllIdentification();
                DL_Indentication.DataSource = iden;
                DL_Indentication.DataValueField = "IdentificationID";
                DL_Indentication.DataTextField = "IdentificationName";
                DL_Indentication.DataBind();

                if (Session["UrID"] == null)
                {

                }
            }
        }

        protected void bt_dangnhap_Click(object sender, EventArgs e)
        {
            iq = QueryMgr.GetDbInstance();
            Captcha1.ValidateCaptcha(txt_baomat.Text.Trim());
            if (CapChaTrue())
            {
               
                    if (txt_matkhau.Text.Length >= 5)
                    {
                        // thêm mới
                        if (MethodCommon.IsHaveUserName(txt_tentk.Text) == false)
                        {
                            string sGuid = "";
                            iq.UR_NewUser(set_User(ref sGuid));
                            ContentMail.sendMailActive(sGuid);
                            Response.Redirect("register.aspx?Notes=StrNew&Active=true");
                        }
                        else
                        {
                            lb_note.Text = "Tên tài khoản đã có người sử dụng. Bạn vui lòng chọn một tên khác.";
                            lb_note.Visible = true;
                        }
                    }
                    else
                    {
                        Response.Write("<script> alert('Mật khẩu phải >= 5 ký tự !');</script>");
                    }
                
            }
        }
        /// <summary>
        /// thêm mới
        /// </summary>
        /// <param name="bg"></param>
        /// <returns></returns>
        User set_User(ref string sGuid)
        {
            User bg = new User();

            bg.RoleID = MethodCommon.Get_Guid("fca5403d-2843-4d3b-9ac2-435e4f577779");//Người dân
            bg.Password = MethodCommon.Md5AddSecret(txt_matkhau.Text);
            bg.UserName = txt_tentk.Text;
            bg.FullName = txt_hoten.Text;
            bg.Address = txt_diachi.Text;
            bg.Phone = txt_dienthoai.Text;
            bg.Mail = txt_mail.Text;
            bg.IdentificationNumber = txt_giayto.Text;
            bg.IdentificationID = MethodCommon.Get_Guid(DL_Indentication.SelectedValue.ToString());
            bg.StatusID = MethodCommon.Get_Guid("cc941342-02dd-4571-9746-b6ab2f4c352b");//Not Active
            bg.CreateDate = DateTime.Now;
            bg.IsDeleted = false;
            if (RD_sex.SelectedIndex == 0)
                bg.Sex = true;
            else
                bg.Sex = false;
            bg.UserID = Guid.NewGuid();
            sGuid = bg.UserID.ToString();
            return bg;
        }

        void notes()
        {
            if (Request.QueryString["Notes"] != null && Request.QueryString["Active"] != null)
            {
                Panel_sucess.Visible = true;
                Pane_dk.Visible = false;
                lb_notes_sucess.Visible = true;
                
                lb_notes_sucess.Text = "Chúc mừng bạn đã đăng ký thành công tài khoản trên công thông tin điện tử [Tên đơn vị]!<br/>"+
                                        "Chúng tôi đã gửi một thư điện tử tới địa chỉ :"+txt_mail.Text+ " để xác nhận quá trình đăng ký của bạn. Nếu bạn không nhận được thư điện tử kích hoạt, xin vui lòng kiểm tra hòm thư rác spam."+
                                        "<p>Trân trọng, </p>"+
                                        "Thay mặt ban quản trị Cổng thông tin điện tử [Tên đơn vị].";
            }
        }

        bool CapChaTrue()
        {
            bool ok = false;
            if (Captcha1.UserValidated)
            {
                ok = true;
            }
            else
            {
                lb_note.ForeColor = System.Drawing.Color.Red;
                lb_note.Text = "Vui lòng nhập lại mã bảo mật !";
            }

            return ok;
        }

    }
}